Syntax10.Scn.Fnt ParcElems Alloc Syntax16b.Scn.Fnt Syntax16.Scn.Fnt Syntax14.Scn.Fnt Syntax8.Scn.Fnt StyleElems Alloc Absatz Syntax12b.Scn.Fnt Absatz Absatz Syntax10i.Scn.Fnt Absatz Absatz MinesElems Alloc Absatz Absatz Absatz Absatz Oberon-Mines V1.32 Ralf Degner (C) 1.10.1995 Ein Minesweeper-Spiel f r das Oberon System V4 Copyright: Oberon-Mines und alle Dateien in diesem Paket sind (C)opyright 1994-1995 bei Ralf Degner. Alle Rechte vorbehalten. Das Oberon-System ist (C)opyright 1990-1995 beim Institut f r Computersysteme der ETH Z rich. hrleistung: Der Autor bernimmt keine Gew hrleistung f r Oberon-Mines. Die Benutzung erfolgt auf eigene Gefahr. Verbreitung: Oberon-Mines ist Cardware. Sie k nnen es kopieren so oft Sie wollen und auf jedem beliebigen Weg verbreiten, es ist frei. Es ist nicht erlaubt, Mines in irgend einer Art und Weise zu verkaufen oder auf eine andere Art und Weise Geld damit zu verdienen. Die Dateien d rfen nur unver ndert verbreitet werden. Mein Copyright-Vermerk muss stets erhalten bleiben. Wenn es Ihnen gef llt, k nnen Sie es in Public-Domain-Serien oder Mailboxen aufnehmen. Die Heimat von Mines ist http://sun1.rrzn.uni-hannover.de/~nhbidegn/myo4.html . Dort finden Sie stets die neuste Version von Mines. Zudem sollte sich auf dem Server der Oberon-User-Group (hades.ethz.ch pub/Oberon/OberonV4/Sources/Mines) eine aktuelle Version befinden. Das Programm: Oberon-Mines ist ein einfaches Minesweeper-Spiel, wie es aus vielen Umsetzungen bekannt ist. Ich nehme an, die Regeln sind bekannt. Bevor Sie spielen k nnen, muss Mines compiliert werden ( Compiler.Compile Mines.Mod MinesElems.Mod ~ ). Benutzen Sie Windows (muss das wirklich sein?), so befindet sich am Anfang des Quelltextes von Mines eine spezielle Farbpalette. Gestartet wird Mines durch Ausf hren von Mines.Open . Wenn sie das Mines Tool ffnen ( System.Open Mines.Tool ), sehen sie, welche Kommandos Mines versteht und wie die Parameter bergeben werden. Mit dem rechten Mausknopf kann ein Feld als Mine gekennzeichnet werden, die mittlere setzt oder l scht ein "?" (nur eine Gedankenst tze) und mit dem linken Mausknopf wird ein Feld umgedreht. Zwischenklick l scht die letzte Aktion. Wird mit dem linken/rechten Mausknopf ein Feld mit einer Zahl ausgew hlt und dann mit der rechten/linken zwischengeklickt, werden alle Nachbarfelder, welche nicht als Mine gekennzeichnet sind, umgedreht. Durch Klicken auf den Smily ber dem Feld kann das Spiel neu gestartet werden. Die Anzahl der noch zu findenen Minen erscheint links neben dem Smily, die vergangene Zeit rechts davon. Wenn Ihr System einen Usernamen besitzt, wird dieser bei neuen Eintr gen in die HiScore genutzt. Mit Mines.SetUser ^ kann jederzeit ein neuer Name eingegeben werden. Es gibt einen Farb- und einen Schwarzweiss-Modus. Es kann mit Mines.ColorMode zwischen beiden umgeschaltet werden. Welcher Modus aktiv ist, wird gespeichert. Damit der Farbmodus auch gut aussieht, muss die dazu passende Farbpalette geladen werden ( Colors.Load Mines.Pal ). M chten Sie ihre eigene Palette verwenden, k nnen Sie auch die Farben am Anfang des Quelltextes ndern. Die Windows-Version benutzt die Standard-Palette. Normalerweise wird von Mines ein Task verwendet, um die Zeit darzustellen. Das Programm merkt, ob noch ein Mines-Frame ge ffnet ist. Ist dies nicht der Fall, wird der Zeit-Task automatisch aus dem System entfernt. Ein neues Mines-Frame installiert den Task wieder. Haben Sie etwas gegen fremde Tasks in Ihrem System, k nnen Sie ihn auch mit Mines.TimeMode abschalten. Die Zeit wird dann bei jedem Dr cken auf eine Maustaste in ein erlaubtes Feld aktualisiert. Auch diese Einstellung wird gespeichert. Mines besitzt eine Pause-Funktion, welche mit Mines.Pause eingeschaltet wird. Ist sie aktiv, so wird die Spielfeldgr sse nicht mehr automatisch an die Fenstergr sse angepasst. Sie k nnen das Fenster also verschieben und seine Gr ndern, ohne dass sich an ihren pers nlichen Einstellunegn etwas ndert. Wenn sich eine Fenstergr sse derart ndert, dass das alte Spiel nicht mehr hinein passt, wird die Pause-Funktion automatisch aktiviert. M chten Sie das Spiel fortsetzen, rufen Sie die Pause-Funktion erneut auf. Sollte das Spiel nicht in das Fenster passen, wird eine Meldung im System.Log ausgegeben. Es besteht die M glichkeit, das Frame zu vergr ssern und es erneut zu versuchen. Soll trotz falscher Framegr sse wieder ein Spiel gestartet werden, muss Mines.Pause erneut aufgerufen werden. Ein Spiel muss immer in alle Kopien des Frames passen. Den Status des Spiels k nnen Sie am Smily erkennen. Ist er gut gelaunt :-) , so ist alles in Ordnung. Ein Spiel l uft oder Sie k nnen mit einem beginnen. Ein unentschlossener Smily :-| zeigt die aktivierte Pausefunktion an. Erst die Pausefunktion aufheben, bevor es weitergehen kann. Haben Sie eine Mine getroffen, findet der Smily das garnicht gut :-( . Das Spiel ist vorbei. Sie k nnen ein neues starten. Wenn Sie alle Minen entdeckt haben, ist der Smily begeistert und setzt seine Sonnenbrille auf 8-) ( It`s cool man! ). Eine neue HiScore wird im System.Log vermerkt. Das Mines Textelement Mines Textelemente stellen ein vollwertiges Minesweeper Spiel dar. Es kann kopiert, gel scht, gespeichert, ... werden, wie jedes andere Textelement. Eingef gt wird ein Element durch MinesElems.Beginner , MinesElems.Advanced , MinesElems.Expert und MinesElems.Insert . Es sind diverse bergabeparameter m glich (siehe Mines.Tool). Ein Textelement kann selektiert oder nicht selektiert sein. Ein selektiertes Element zeichnet sich durch einen gepunkteten Rahmen aus. Ein Element wird durch anklicken mit der linken Maustaste selektiert. Die Mausaktionen f r die beiden Modi haben folgende Wirkungen (R=rechte Maustaste, M=..., L=...; zweiter Buchstabe bedeutet Interklick; nicht genannte Kombinationen wie blich): Nicht selektiert: L = Selektiert Element M L = Oeffnet normales Mines Spiel M R = " " " " Selektiert: L = Feld ausw L R = Multiauswahl aller Nachbarfelder R = Markiert ein Feld als Mine R L = Multiauswahl aller Nachbarfelder M = Gibt aus, wieviele Minen noch gefunden werden m M L = Startet ein neues Spiel M R = Zeigt die HiScore an Sind alle Minen gefunden, wird die ben tigte Zeit im System.Log ausgegeben. Hatten Sie die Quelltexte schon compiliert bevor dieser Text geladen wurde, erscheinen an dieser Stelle drei Mines Textelement vom Typ Beginner in verschiedenen Farben: Drei Mineselement Dateien in dieser Ver ffentlichung: Mines.Mod der Quelltext MinesElems.Mod der Quelltext des Textelements Mines.Tool die Tools-Datei Mines.Menu.Text der Menutext Mines.Score die HiScore-Datei Mines.Score.Text Text zur Anzeige der HiScore Mines.Pal Datei mit Farbinformationen Mines.Text Sie lesen es gerade Mines.doc dasselbe in Englisch (bisher nur Ascii) Getestet auf: Amiga - Amiga 4000-40, OberonV4 0.10 IBM-RS6000 - OberonV4 4.1 DECstation - OberonV4 4.2 Windows 3.x - OberonV4 1.31 Bekannte Bugs: Bei eingen Umsetzungen, insbesondere lteren, kann es Probleme mit den Menus geben. Sollte ein Trap oder eine anderer Fehler auftreten, l schen Sie einfach die Datei Mines.Menu.Text. Der Fehler liegt an Compatibilit tsproblemen der PopUp-Elemente auf den verschiedenen Umsetzungen. Geschichte: V1.0 (04.08.1994) erste Ver ffentlichnung (AmiNet) V1.1 (10.08.1994) Hi-Score hinzugef gt (Mines.Score) Mines.SetUser, Mines.Ask, Mines.Score Probleme mit Mines.Menu.Text-Datei beseitigt Jetzt mit richtigem Smily und richtiger Mine SearchMore ge ndert zeigt alle Felder, wenn Mine getroffen wurde V1.15 (14.08.1994 interne Version) bessere Zufallszahlen Selektion durch Rechten-Mausknopf-Zwischenklick Farbige Grafik, Mines.Mode Eigene Palettendatei Mines.Pal V1.2 (02.09.1994) HiScore-Datei jetzt portierbar Zeitmessung auf allen Systemen korekt Restminen und Zeit werden angezeigt Modi werden in HiScore-Datei gespeichert keine Warnungen mehr beim Compilieren Zeitanzeige auch permanent m glich Pause-Funktion (Feld wird jetzt versteckt) Zeitmessung beginnt erst nachdem ein Feld ausgew hlt wurde V1.21 (09.09.1994) Time-Task l scht sich automatisch viele kleine Verbesserungen V1.3 (17.09.1994) Mines-Textelemente hinzugef Pause wird bei Frameverkleinerung aktiviert Quelltext total berarbeitet V1.31 (1.10.1994) einige Bugs im Element beseitigt neues Format f r HiScore-Datei (alte l schen !) V1.32 (1.10.1995) neues Layout f r HiScore Anzeige (daf r Mines.Score.Text zugef Probleme mit Zeit Anzeige und Task beseitigt viele kleine nderungen am Quelltext neues Random => importiert SYSTEM nicht mehr Zu tun: Jede gute Idee, die Sie mir mitteilen. Danksagungen: Peter Landmann - f r die Portierung des Ascii-Textes nach Mines.Text und Anregungen Richard Hable - f r viele Bugreports und Kommentare Allen, die mir durch E-Mails mit Bugreports und Anregungen geholfen haben ! Programme vom selben Author: EditPat ein Pattern Editor mit kompfortablem Display Modul f r mehrfarben Patterns in beleibiger Gr ObTris ein Tetris Spiel f r das Oberon System V4 Meine Adresse: Wenn Sie Mines m gen, k nnen sie mir Geld schicken, aber sie m ssen nicht. Senden Sie bitte Kommentare, Ideen, Bugreports (mit genauer Rechnerangabe), h bschere Grafiken, ... an : Ralf Degner Schillerstr. 16 D-29525 Uelzen E-Mail: degner@pallas.amp.uni-hannover.de Viel Spass mit Mines ... und an die Postkarte denken ;-)